The extensible markup language (XML) is a W3C-recommended general purpose markup language that supports a wide variety of applications. XML languages or ‘dialects’ are easy to design and to process. They are also reasonably human-legible, and to this end, terseness was not considered essential in its structure. XML is a simplified subset of standard generalized markup language (SGML). Its primary purpose is to facilitate the sharing of data across different information systems, particularly systems connected via the (public) internet.
XML provides text based means to describe and apply a tree based structure to information. At its base level, all information manifests as text, interspersed with markup that indicates the information's separation into a hierarchy of character data, container like elements, and attributes of those elements.
SAX is a serial access parser API for XML. API is an acronym for application programming interface which is a source code interface that a computer system or program  library provides in order to support requests for services to be made of it by a computer program. SAX provides a mechanism for reading data from an XML document. A parser which implements SAX handles XML information as a single stream of data. This data stream is unidirectional, such that previously accessed data cannot be re-read without re-parsing. SAX is fast and efficient to implement, but difficult to use for extracting information at random from the XML document, since it tends to burden the application author with keeping track of what part of the document is being processed. It is better suited to situations in which certain types of information are always handled the same way, no matter where they occur in the document.
DOM is another interface oriented API that allows for navigation of an entire XML document as if it were a tree of ‘node’ objects representing the document's contents. A DOM document can be created by a parser from an XML document or can be generated manually by users. Data types in DOM nodes are abstract and implementations provide their own programming language specific bindings. DOM implementations tend to be memory intensive, as they generally require the entire document to be loaded into memory and constructed as a tree of objects before access is allowed.
RAX which is an acronym for random access XML relates to a further API for processing XML data. RAX can be understood as a new parsing model which is neither DOM nor SAX, but a machine-based, micro-based parallel processing strategy implemented in purpose built XML hardware. The core technology employed in RAX is an XPath engine. XPath is a language for addressing elements in an XML document. It can be understood as an XML document query language for making assertions about the content in XML documents. RAX processes an XML document by  generating XPath expressions from the XML document, such that there is one XPath expression corresponding to each item in the XML document, whereby each XPath expression selects only the corresponding XPath item. The XPath expressions may be generated with a script. When an item is to be selected from the XML document, the XPath expressions are evaluated simultaneously in order to select the item from the generated XPath expressions. Each XPath expression produces a truth value indicating whether it is matched or not. The uniqueness constraint guarantees that one and only one XPath will have the truth value “TRUE”. The position of the matching XPaths provides an index to the corresponding item in the XML document or in a derived list which represents the XML document.
The processing of XML documents is done by the data processing system which receives the XML document, for example via a network from a server. Such a data processing system is also referred to as application system as an application executed by the data processing system further processes the XML document. In order to be able to process large XML documents, the data processing system must however provide sufficient resources which might not always be the case. Furthermore, due to the increased size of XML documents for example in comparison with raw data, XML based communication requires more network bandwidth and network processing when transferring the XML document from the server to the receiving data processing system.
The problem of low XML parsing performance is addressed by trying to implement faster parsers. However, the possibilities for further improvements of these parsers are limited because XML parsing is very sequential by nature and inherently involves a large processing overhead. Since even  with fast parsers, the parsing is still done on application systems, these systems are relieved only marginally. It is an object of the invention to describe an improved method of providing XML data to the data processing system corresponding to the application system which makes use of the XML data. It is a further object of the invention to provide an improved data processing system.